#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=2e5+5;
int n, a[N], dp[2005][2005], f[200005][11], aa;
signed main(){
	freopen("color.in","r",stdin);
	freopen("color.out","w",stdout);
	int T;
	cin>>T;
	while(T--){
		cin>>n;
		int maxn=0;
		for(int i=1; i<=n; i++)cin>>a[i],maxn=max(maxn,a[i]);
		if(n<=2000){
			dp[1][0]=0;
			for(int i=2; i<=n; i++)for(int j=0; j<i; j++){
				dp[i][j]=0;
				if(j!=i-1)dp[i][j]=dp[i-1][j]+(a[i]==a[i-1])*a[i];
				else{
					for(int k=0; k<j; k++)dp[i][j]=max(dp[i][j],dp[i-1][k]+(a[k]==a[i])*a[i]);
				}
			}
			int ans=0;
			for(int i=0; i<=n; i++)ans=max(ans,dp[n][i]);
			cout<<ans<<'\n';aa=ans;
		}
		else if(maxn<=10){
			f[1][0]=0;
			for(int i=1; i<=maxn; i++)f[1][i]=-1e18;
			for(int i=2; i<=n; i++)for(int j=0; j<=maxn; j++){
				f[i][j]=0;
				if(j!=a[i-1])f[i][j]=f[i-1][j]+(a[i]==a[i-1])*a[i];
				else{
					for(int k=0; k<=maxn; k++)f[i][j]=max(f[i][j],f[i-1][k]+(k==a[i])*k);
				}
			}
			int ans=0;
			for(int i=0; i<=maxn; i++)ans=max(ans,f[n][i]);
			cout<<ans<<endl;
		}
	}
	return 0;
}